Program Composition via Unification
نویسندگان
چکیده
Program composition and compositional proof systems have proven them selves important for simplifying the design and the verification of programs. The paper presents a version of the jigsaw program composition operator pre viously defined in [FFG90, FFG91]. Here, the jigsaw operator is defined as the unification of its components by their most general unifier. The jigsaw operator generalizes and unifies the traditional sequential and parallel program composi tion operators and the newly proposed union and superposition operators. We consider a family of frameworks each consisting of a programming language, a specification language and a compositional syntax-directed proof system. We present syntactic rules to augment any given framework in the family with the Jigsaw operator. The augmented framework is syntax-directed and composi tional. Moreover, it is sound and complete with respect to the given framework. Program composition and compositional proof systems have proven themselves impor tant fpr simplifying the design and verification of programs. In this approach, small parts of a software system are programmed and verified separately and then composed into a larger system. To develop a system such that its syntactic structure reflects the intuitive structure of the algorithm it implements, program composition operators able to reflect common relations among components of algorithms are required. Tradi tional program composition operators are the sequential and the parallel composition operators. Recently, other program composition operators have been suggested [BF88, CM88, FF90, KFE90]. In this paper a composition operator, called jigsaw, is considered. The jigsaw composition operator generalizes and unifies the sequential and the parallel operators together with the newly proposed union and superposition operators [BF88,CM88]. • A preliminary version of this paper appears in [FFG92]. Abstract Program composition and compositional proof systems have proven themselves important for simplifying the design and the verification of programs. The paper presents a version of the jigsaw program composition operator previously defined in [FFG90, FFG91]. Here, the jigsaw operator is defined as the unification of its components by their most general unifier. The jigsaw operator generalizes and unifies the traditional sequential and parallel program composition operators and the newly proposed union and superposition operators. We consider a family of frameworks each consisting of a programming language, a specification language and a compositional syntax-directed proof system. We present syntactic rules to augment any given framework in the family with the Jigsaw operator. The augmented framework is syntax-directed and composi-tional. Moreover, it is sound and complete with …
منابع مشابه
Decentralized Information Spaces for Composition and Unification of Web Services POSITION PAPER
The DISCUS (Decentralized Information Spaces for Composition and Unification of Services) project is building Columbia PSL's “proof-of-concept” realization of NICCI. NICCI (Network-centric Infrastructure for Command, Control and Intelligence) is a prospective DARPA program concerned with coalition forces in crisis situations; similar requirements are presented by tomorrow’s enterprise applicati...
متن کاملUnification of Two Approaches to Teacher Training in Iran: A Critical Review of Farhangiyan University’s Charter
Unification of Two Approaches to Teacher Training in Iran: A Critical Review of Farhangiyan University’s Charter N. Moosaapoor, Ph.D.* The historical facts imbedded in the century-old Iranian experience in teacher training reveal two different and coexisting approaches. One is a university-based four-year program aiming at training high school teachers, while the other is a two-year pro...
متن کاملUnification and Logarithmic Space
We present an algebraic characterization of the complexity classes Logspace and NLogspace, using an algebra with a composition law based on unification. This new bridge between unification and complexity classes is inspired from proof theory and more specifically linear logic and Geometry of Interaction. We show how unification can be used to build a model of computation by means of specific su...
متن کاملImplementing Compositional Analysis Using Intersection Types With Expansion Variables
A program analysis is compositional when the analysis result for a particular program fragment is obtained solely from the results for its immediate subfragments via some composition operator. This means the subfragments can be analyzed independently in any order. Many commonly used program analysis techniques (in particular, most abstract interpretations and most uses of the Hindley/Milner typ...
متن کاملThe Effects of Exchange Rate Unification on the Iranian Economy
The exchange rate unification is one of the most important instruments of economic adjustment, which is used in many countries. This paper shows the effects of the exchange rate unification on price level (inflation), gross domestic production (GDP), non-oil exports, private conception, government expenditure and stock of money. The data, is used related to the period 1959-2000. To analyze the ...
متن کامل